/**
 * 
 */
package br.com.localfloripa.services;

import javax.inject.Inject;
import javax.inject.Named;
import javax.security.auth.login.LoginException;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;

import br.com.localfloripa.dao.UsuarioDao;
import br.com.localfloripa.entities.Usuario;

/**
 * @author alan
 * @20/03/2012
 *
 */
@Service("usuarioService")
@Scope("singleton")
public class UsuarioService extends ServiceMain {

	private static final long serialVersionUID = -4238007029498772912L;
	
	@Inject
	@Named("usuarioDao")
	private UsuarioDao usuarioDao;

	public UsuarioService() {
		
	}
	
	public Usuario findById(Long idUsuario) throws Exception {
		
		Usuario usuario = null;
		if (Usuario.isAuthenticated()) {
			usuario = usuarioDao.findById(idUsuario);
		} else {
			throw new LoginException(bundle.getString("messages.authority.error"));
		}		
		return usuario;
	}
	
	public void passwd(Long idUsuario, String novaSenha) throws Exception {
		
		if (Usuario.isAuthenticated()) {
			Usuario loggedUser = findById(idUsuario);
			loggedUser.setSenha(novaSenha);
			usuarioDao.merge(loggedUser);
		} else {
			throw new LoginException(bundle.getString("messages.authority.error"));
		}			
	}
	

}
